package com.wyr.leetcode.step1.tree;

import java.util.LinkedList;

public class MirrorTreeTest {
    /**
     * 请完成一个函数，输入一个二叉树，该函数输出它的镜像。
     *
     * 例如输入：
     *
     *    4
     *   /  \
     *  2   7
     * / \  / \
     *1  3 6  9
     * 镜像输出：
     *
     *     4
     *    /  \
     *   7   2
     *  / \  / \
     * 9  6 3  1
     *
     * 来源：力扣（LeetCode）
     * 链接：https://leetcode.cn/problems/er-cha-shu-de-jing-xiang-lcof
     * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
     */
    //二叉树的题大部分是使用递归
    public TreeNode mirrorTree(TreeNode root) {
        if(root==null)
            return null;
        TreeNode cur=new TreeNode(root.val);
        cur.left=mirrorTree(root.right);
        cur.right=mirrorTree(root.left);
        return cur;
    }

    public static class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;


        TreeNode(int x) {
            val = x;
        }
    }
}
